package demo03;

// 如果内外部类成员变量出现重名现象，访问外部类成员变量格式为：外部类名称.this.外部类成员变量名
public class Outer {
    int num = 10; // 外部类的成员变量

    public class Inner {
        int num = 20; // 内部类的成员变量

        public void methodInner() {
            int num = 30; // 内部类方法的局部变量
            System.out.println(num); // 访问局部变量，依据就近原则
            System.out.println(this.num); // 访问内部类的成员变量，this代表本类对象
            // System.out.println(super.num); // 内外部类非继承关系，所以super父类不存在变量num
            System.out.println(Outer.this.num); // 访问外部类的成员变量，Outer.this代表外部类对象
        }
    }
}
